// #include "aim_energy/WindMill.hpp"

// namespace WINDMILL
// {
//     windMill::windMill(ros::NodeHandle &nh)
//     {
//         iterator = 0;
//         last_loss = 0.0;
//         cnt = clockwize = anticlockwize = 0;
//         now_t = last_t = 0;
//         clear();
//         anglevelocity_rad.clear();
//         time.clear();

//         _isblue = readParam<int>(nh, "/init_color_blue") > 0 ? true : false;
//         params.s_armor_min = readParam<int>(nh, "/s_armor_min");
//         params.s_armor_max = readParam<int>(nh, "/s_armor_max");
//         params.armor_ratio_min = readParam<float>(nh, "/armor_ratio_min");
//         params.armor_ratio_max = readParam<float>(nh, "/armor_ratio_max");
//         params.s_armor_ratio_min = readParam<float>(nh, "/s_armor_ratio_min");
//         params.s_armor_ratio_max = readParam<float>(nh, "/s_armor_ratio_max");
//         params.s_R_min = readParam<int>(nh, "/s_R_min");
//         params.s_R_max = readParam<int>(nh, "/s_R_max");
//         params.R_ratio_min = readParam<float>(nh, "/R_ratio_min");
//         params.R_ratio_max = readParam<float>(nh, "/R_ratio_max");
//         params.s_R_ratio_min = readParam<float>(nh, "/s_R_ratio_min");
//         params.s_R_ratio_max = readParam<float>(nh, "/s_R_ratio_max");
//         params.s_leaf_min = readParam<int>(nh, "/s_leaf_min");
//         params.s_leaf_max = readParam<int>(nh, "/s_leaf_max");
//         params.fin_ratio_min = readParam<float>(nh, "/fin_ratio_min");
//         params.fin_ratio_max = readParam<float>(nh, "/fin_ratio_max");
//         params.s_fin_ratio_min = readParam<float>(nh, "/s_fin_ratio_min");
//         params.s_fin_ratio_max = readParam<float>(nh, "/s_fin_ratio_max");
//         params.R = readParam<int>(nh, "/R");
//         params.length = readParam<float>(nh, "/length");
//         params.hight = readParam<float>(nh, "/hight");
//         params.hit_dx = readParam<float>(nh, "/hit_dx");
//         params.constant_speed = readParam<float>(nh, "/constant_speed");
//         params.direction = readParam<int>(nh, "/direction") > 0 ? true : false;
//         params.init_k_ = readParam<float>(nh, "/init_k_");

//         spd.A = readParam<float>(nh, "/A");
//         spd.w = readParam<float>(nh, "/w");
//         spd.A0 = readParam<float>(nh, "/A0");
//         spd.fai = readParam<float>(nh, "/fai");

//         double cx = readParam<double>(nh, "/cx");
//         double cy = readParam<double>(nh, "/cy");
//         double fx = readParam<double>(nh, "/fx");
//         double fy = readParam<double>(nh, "/fy");

//         INF_INTRINSIC = (cv::Mat_<double>(3, 3) << fx, 0, cx, 0, fy, cy, 0, 0, 1);
//     }

//     windMill::~windMill()
//     {
//     }
// }
